Kembali ke Blog
Tutorial

Tuesday, 08 August 2023

|

6 min read

Konsep Dasar Programming Tanpa Bahasa Pemrograman Part 4

Ini adalah tutorial berseries yang membahas konsep dasar pemrograman tanpa harus menggunakan bahasa pemrograman tertentu. Konsep ini mendasari setiap bahasa pemrograman, sekaligus percobaan dalam membuat fitur di blog ini yaitu blog berseries yang bisa berlanjut.

Series ini sendiri niatnya akan dibagi menjadi beberapa bagian, antara lain adalah:

Series Konsep Dasar Programming Tanpa Bahasa Pemrograman

Walau judulnya tanpa bahasa pemrograman tentu saja saya tetap harus menggunakan bahasa pemrograman untuk menunjukan contoh praktis/teknisnya sendiri. Untuk kemudahan tutorial sendiri, saya menggunakan bahasa Python dalam menjelaskan konsep yang ada.

Previously:
Part 3: If Else / Percabangan

Looping

Looping atau perulangan merupakan salah satu topik unik yang saya temui di dunia pemrograman selain percabangan. Inti dari Looping sendiri adalah memungkinkan kita untuk mengeksekusi serangkaian kode berulang kali berdasarkan kondisi tertentu. Kata kuncinya adalah berulang-kali berdasarkan kondisi tertentu.

Mengapa Looping Penting

Looping sangat berguna karena memungkinkan kita untuk menghemat kode. Bayangkan misalnya kita ingin menampilkan teks Hello World di Python sebanyak 100 kali, tidak mungkin kita menulis kode print-out sebanyak 100 kali juga.

print("Hello World")
print("Hello World")
print("Hello World")
print("Hello World")
print("Hello World")
print("Hello World")
# dan seterusnya hingga 100 kali

Untuk kasus seperti diatas lah looping sangat berguna. Ya untuk penggunaan nyatanya mungkin lebih kompleks dari itu, salah satu contoh yang paling sering adalah kita ingin menampilkan data berbagai user yang berupa array, nah disana lah kita menggunakan looping.

Sebenarnya pada Matematika di SMA pun ada sebuah konsep yang menggunakan looping, biasanya dikenal dengan notasi Sigma (βˆ‘), dimana notasi ini digunakan untuk menjumlahkan hasil suatu melakukan operasi yang dilakukan sebanyak n kali dengan berbagai input.

Tipe-Tipe Looping

Looping pada pemrograman memiliki beberapa tipe, dengan kegunaan yang berbeda-beda. Berikut ini adalah tipe-tipe Looping yang umum:

1. For Loop:

For loop digunakan ketika kita tahu pasti berapa kali perulangan yang akan dilakukan (karena kita menggunakan sebuah integer untuk menentukan batasnya).

for i in range(0, 10):
  print("Hello World!")

for i in range(10):
  print("Hello World!")

# masing-masing looping akan menghasilkan print out "Hello World!" sebanyak 10 kali.

Pada contoh diatas kita melakukan looping dari 0 sampai 10, kita juga bisa mengakses elemen i pada looping diatas, contoh penggunaannya misalnya kita ingin mengetahui print-out ini di looping ke berapa, jadi gampangnya si i ini mempresentasikan elemen yang dia looping-kan

Pada konsep elemen i ini juga perlu diingat juga bahwa pada contoh looping diatas yang menggunakan range (kita menggunakan angka pasti), i sendiri memulai dari 0 sampai dengan 9, jadi 0,1,2,…,9. Bukan sampai 10.

ℹ️
Perlu Diingat

i diatas tidaklah harus dituliskan dengan i, bisa menggunakan seperti a,b,bebas,angka, dan lainnya, jadi tidak harus i. Digunakan i pada contoh hanya untuk contoh serta agar pendek. Pokoknya gunakan kata-kata yang mewakili tiap elemen yang diulangi

Untuk sintaks looping di python sendiri sebenarnya termasuk mudah, karena kita juga diberikan beberapa fitur untuk mengatasi kasus-kasus yang umumnya terjadi, misalkan untuk melakukan loop pada sebuah array:

buahBuahan = ["🍎", "πŸ‡","🍊","πŸ‰"]
for buah in buahBuahan:
  print(buah)
# looping diatas akan memprint-out tiap elemen di dalam buahBuahan satu-per-satu.
# 🍎
# πŸ‡
# 🍊
# πŸ‰

Python memudahkan kita untuk melakukan looping array, contohnya diatas. Selain array kita juga bisa melakukan looping sebuah kalimat string, jadi kita melakukan loop tiap huruf-hurufnya.

for x in "banana":
  print(x)
# hasilnya:
# b
# a
# n
# a
# n
# a

2. While Loop:

Ada juga yang namanya while loop, untuk konsepnya sendiri bayangkan saja kata-kata, β€œLakukan looping selagi …”, jadi kita akan menuliskan persyaratan dan selama persyaratannya tidak terlanggar maka looping akan terus berjalan.

i = 1
while i < 6:
  print(i)
  i += 1
# hasilnya:
# 1
# 2
# 3
# 4
# 5

Pada looping diatas kita menuliskan sebuah syarat,β€œi < 6” artinya selama variabel i itu kurang dari 6 maka eksekusi kode dibawah ini. Perhatikan juga kita menuliskan β€œi += 1”, hal inilah yang kita gunakan untuk menghentikan looping, jadi tiap loop variabel i akan kita jumlahkan 1, hingga akhirnya mencapai 6 dan tidak memenuhi syarat dan looping selesai.

Jadi bayangkan looping pertama dari variabel i yang isinya 1, sehingga mencapai looping dimana i nya adalah 5. Pada looping ini kita melakukan print-out 5, lalu kita menambahkan i dengan 1, sehingga i jadi 6. Lalu kita mengulang lagi ke atas dimana ternyata 6 < 6 itu bernilai False, sehingga loopingnya selesai.

Jadi pada intinya, syarat yang dimaksud pada while ini adalah untuk menentukan nilai boolean True atau False, dimana jika True lanjutkan, bila False maka hentikan. Jadi tak hanya sebatas < kita juga bisa menggunakan operator atau hal lainnya yang penting untuk menentukan nilai boolean.

Nested Looping

Nested looping adalah konsep looping dalam looping, jadi di dalam sebuah looping kita bisa menuliskan looping lainnya bila kita mau.

adj = ["red", "big", "tasty"]
fruits = ["apple", "banana", "cherry"]

for x in adj:
  for y in fruits:
    print(x, y)

# Hasilnya:
# red apple
# red banana
# red cherry
# big apple
# big banana
# big cherry
# tasty apple
# tasty banana
# tasty cherry

Looping dan Percabangan

Tak jarang juga kita membutuhkan perpaduan antara looping dan juga percabangan, contoh kasusnya misalnya kita mempunyai sebuah data kumpulan nilai, kita ingin membagi nilai jadi 2, yaitu yang diatas kkm dan tidak, maka ini bisa jadi solusinya.

dataNilai = [100, 80, 75, 70, 60, 90, 85, 70, 98, 65]
nilaiDibawahKKM = []
nilaiDiatasKKM = []
for nilai in dataNilai:
  if nilai < 75:
    # Tambahkan nilai ke nilaiDibawahKKM bila nilainya dibawah 75
    nilaiDibawahKKM.append(nilai)
  elif nilai > 75:
    # Tambahkan nilai ke nilaiDiatasKKM bila nilainya dibawah 75
    nilaiDiatasKKM.append(nilai)

print(nilaiDiatasKKM) # [100, 80, 90, 85, 98]
print(nilaiDibawahKKM) # [70, 60, 70, 65]

Dengan sedikit kreatifitas perpaduan antara kedua looping dan percabangan bisa menjadi tools yang cukup kuat untuk melakukan berbagai manipulasi data.

Infinite Loop

Salah satu hal yang harus diperhatikan dalam konsep looping adalah infinite loop, dimana loop akan berlangsung selamanya karena misalnya tidak ada batas atau selalu memenuhi kondisi.

Infinte loop cenderung lebih terjadi pada while loop tentu saja karena while loop menggunakan kondisi untuk menentukan keberlangsungan sebuah loop, katakan saja kita melakukan looping dengan operator lebih kecil < tetapi kita lupa untuk melakukan penambahan pada variabel yang dijadikan penentu loopnya.

# Contoh Benar πŸ‘
i = 1
while i < 6:
  print(i)
  i += 1

# Contoh Salah πŸ‘Ž
y = 1
while y < 6:
  print(y)
  # tak terdapat penambahan variabel y sehingga menciptakan infinte loop

Kesimpulan

Ya pada intinya looping adalah konsep yang cukup mendasar di pemrograman dan wajib dipahami, sama seperti percabangan masih banyak sekali cara penggunaan serta hal-hal lainnya yang berkaitan konsep tersebut yang tentunya harus dipelajari sembari mencoba-coba, maka dari itu cara terbaik untuk bisa belajar pemrograman adalah mempraktekkan hal yang dipelajari serta mencoba-coba mengubah kode untuk mengetahui hal yang akan terjadi.

Made with Astro by Emir @2023